.. :validated: 3.2.0

Preseed
"""""""""""""""""""""""""""""""""""""""""""

На вкладке **Preseed** осуществляется управление файлом конфигурации для автоматической установки ОС на клиентах ALD Pro.

На вкладке отображается актуальный текст файла конфигурации.

**Пример**

.. code-block:: bash

   # Подключение сетевого репозитория
   d-i mirror/protocol string http
   d-i mirror/http/hostname string download.astralinux.ru
   d-i mirror/http/directory string /astra/frozen/1.7_x86-64/1.7.3/repository-base
   # Установка локали и языка
   d-i mirror/country string manual
   d-i debian-installer/locale string ru_RU
   d-i debian-installer/locale select ru_RU.UTF-8
   d-i debian-installer/language string ru
   d-i debian-installer/country string RU
   d-i debian-installer/keymap string ru
   # Выбор клавиатуры
   d-i console-tools/archs select at
   d-i console-keymaps-at/keymap select ru
   d-i console-setup/toggle string Alt+Shift
   d-i console-setup/layoutcode string ru
   d-i keyboard-configuration/toggle select Alt+Shift
   d-i keyboard-configuration/layoutcode string ru
   d-i keyboard-configuration/xkb-keymap select ru
   d-i languagechooser/language-name-fb select Russian
   d-i countrychooser/country-name select Russia
   # Автоматический выбор сетевого интерфейса
   d-i netcfg/choose_interface select auto
   # Подключение non-free,contrib компонентов в репозитории
   d-i apt-setup/non-free boolean true
   d-i apt-setup/contrib boolean true
   d-i apt-setup/services-select none
   # Установка часового пояса UTC
   d-i clock-setup/utc boolean true
   # Временная зона
   d-i time/zone string Europe/Moscow
   # Не обновлять время
   d-i clock-setup/ntp boolean false
   # Автоматическая разметка дисков
   d-i partman-base    partman/default_filesystem      string  ext4
   d-i partman-auto/init_automatically_partition \
         select Авто - использовать весь диск
   d-i partman-auto/method string regular
   d-i partman-auto/purge_lvm_from_device boolean true
   d-i partman-lvm/confirm boolean true
   # Разметка для режима bios
   #d-i partman-auto/choose_recipe select atomic
   # для UEFI режима:
   #d-i partman-auto/choose_recipe select /lib/partman/recipes-amd64-efi/30atomic
   # Не задавать вопросов при разметке
   d-i partman/confirm_write_new_label boolean true
   d-i partman/choose_partition select finish
   d-i partman/confirm boolean true
   d-i partman-auto-crypto/erase_disks     boolean true
   d-i partman-basicfilesystems/no_swap boolean    false
   d-i partman-target/mount_failed boolean true
   d-i partman-partitioning/unknown_label boolean  true
   d-i partman-auto/purge_lvm_from_device string   true
   d-i partman-lvm/vgdelete_confirm boolean        true
   d-i partman/confirm_write_new_label     string  true
   d-i partman-lvm/confirm boolean true
   d-i partman/confirm_nooverwrite boolean true
   d-i anna/no_kernel_modules boolean true
   d-i base-installer/kernel/image string linux-image-generic
   # Создание пользователя при установке
   d-i passwd/make-user boolean true
   # Имя пользователя
   d-i passwd/user-fullname string astra
   d-i passwd/username string astra
   # Пароль пользователя
   d-i passwd/user-password password 12345678
   d-i passwd/user-password-again password 12345678
   d-i debian-installer/allow_unauthenticated string true
   # Выбор рабочего стола Fly
   tasksel tasksel/first multiselect Fly, Fly-ssh
   tasksel tasksel/astra-feat-setup multiselect
   # Дополнительные пакеты
   # Специфические настройки Астры
   d-i astra-additional-setup/os-check select Base security level Orel
   d-i astra-additional-setup/additional-settings-orel multiselect
   astra-additional-setup astra-additional-setup/automatic-network-disable multiselect
   d-i     astra-additional-setup/automatic-network-disable multiselect
   d-i desktop-tablet-mode-switch/tablet-mode multiselect
   popularity-contest popularity-contest/participate boolean false
   #  В GRUB будет только 1 операционная система
   d-i grub-installer/only_debian boolean true
   # Установка в mbr
   d-i grub-installer/with_other_os boolean true
   # Установка пароля Grub
   d-i grub-installer/password password 12345678
   d-i grub-installer/password-again password 12345678
   grub-installer grub-installer/password-mismatch error
   # Не показывать диалог окончания установки
   d-i finish-install/reboot_in_progress note
   d-i finish-install/exit/poweroff boolean true
   # Команды, выполняемые после установки ОС
   d-i preseed/late_command string in-target systemctl enable ssh; \
       in-target bash -c "echo -e \"astra:astra\" | chpasswd"; \
       in-target bash -c "apt-get -y purge linux-image-*-hardened"; \
       in-target bash -c "apt-get -y autoremove --purge"; \
       in-target bash -c "sed -i 's/deb-src/#deb-src/g' /etc/apt/sources.list"; \
       in-target bash -c "/usr/bin/wget -O /tmp/postinstall.sh http://192.168.17.5/tftp/{PROFILE_UNIQ_NAME}/{POSTINSTALL_FILE_NAME}";\
       in-target bash -c "/bin/sh -x /tmp/postinstall.sh";\
       echo

.. important:: 

    Репозиторий ``/astra/frozen/1.7_x86-64/1.7.3/repository-base`` - это стандартный репозиторий **Astra Linux**, использованный в качестве примера. Для установки ОС по сети необходимо вместо базового репозитория указать репозиторий установочного диска.

Кроме установки напрямую из внешних репозиториев **Astra Linux**, возможна установка ОС по сети с использованием локального зеркала репозиториев, созданного через тип источника **Зеркало** в подразделе **Репозитории ПО**.

Для этого необходимо:

1. создать два репозитория с типом версии **Зеркало**: ``repository-main`` и ``repository-update``;

2. в обоих зеркалах в списке компонентов указать ``main/debian-installer``.

Ниже приведен пример фрагмента preseed-файла для установки из локального зеркала:

.. code-block:: bash
    
    # Основной локальный репозиторий (зеркало repository-main)
    d-i mirror/protocol string http
    d-i mirror/http/hostname string repo01.ald.company.lan
    d-i mirror/http/directory string /repos/repository-main
    # Дополнительный локальный репозиторий (зеркало repository-update)
    d-i apt-setup/local0/repository string deb http://repo01.ald.company.lan/repos/astralinux-update 1.7_x86-64 main contrib non-free

Добавить или изменить файл конфигурации можно двумя способами:

-  добавить текст из файла на компьютере;
-  вручную ввести или изменить текст файла конфигурации на вкладке.

Для добавления текста конфигурации из файла необходимо нажать кнопку **[Загрузить из файла]**, в окне навигации выбрать на компьютере необходимый файл в формате \*.cfg и нажать **[Открыть]**.

Содержимое файла отобразится в форме **Редактировать скрипт вручную**, при этом предыдущее содержимое файла конфигурации будет заменено. При необходимости добавленный текст можно отредактировать.

Для сохранения файла конфигурации необходимо ввести комментарий и нажать кнопку сохранения. Для отмены внесения изменений в файл конфигурации нажать кнопку **[Отменить]**.

Для добавления или редактирования файла конфигурации вручную необходимо нажать на кнопку **[Редактировать файл]**, после чего форма **Редактировать скрипт вручную** станет доступна для редактирования.

Для сохранения файла конфигурации необходимо ввести комментарий и нажать кнопку сохранения. Для отмены внесения изменений в файл конфигурации нажать кнопку **[Отменить]**.

Для просмотра истории изменений файла конфигурации необходимо нажать на кнопку **[История изменений]**. Откроется карточка с отображением списка изменений с указанием даты изменения, автора изменения и комментария. В списке доступен поиск, для этого в верхнем левом углу вкладки в поле поиска ввести значение. В левом нижнем углу указано количество записей, а в правом нижнем углу кнопки переключения страниц.
